1. The Field of the Invention
The present invention relates to computing technology; and more specifically, to mechanisms for dispatching received messages to code in a dynamic manner using inter-positioned message modification prior to dispatch.
2. Background and Related Art
Computing technology has transformed the way we work and play. Computing systems now take a wide variety of forms including desktop computers, laptop computers, tablet PCs, Personal Digital Assistants (PDAs), household devices and the like. In its most basic form, a computing system includes system memory and one or more processors. Software in the system memory may be executed by the processor to direct the other hardware of the computing system to perform desired functions.
Software can be quite complex, often being compiled or interpreted from many thousands or even millions of lines of source code. In order to provide some organization to the software development process, the task may be broken up into manageable subroutines or methods that perform more specific actions. The methods are then interrelated to perform the more complex functionality of the software as a whole. In message processing systems, received message are dispatched by the dispatching mechanism for processing by one or more of these methods depending on the surrounding relevant facts that are accessible to the dispatching mechanism.
In order to perform dispatching that is most appropriate, it would be advantageous for the dispatching component to have access to as much relevant information as possible. However, not all components in a system have equal access to information. For example, the dispatch mechanism may not have direct information regarding the connection over which the message was received, the protocol used to deliver the message, the history of message exchange, the current load balancing state, the time the message was received, the importance of the sender of the message, and the like. Furthermore, relevant information may not be present in the message itself, or at least is not easily accessible from the message.
Accordingly, what would be advantageous are mechanisms for allowing the dispatching mechanism to more easily factor in previously unknown or difficult to access information when performing dispatch of the message to allow more flexibility in appropriately processing a message.